const data = {
  name: "张三",
  age: 18,
  gender: "男",
};

console.log("has name ", Reflect.has(data, "name"));
console.log("get name ", Reflect.get(data, "name"));
console.log("keys ", Reflect.ownKeys(data));

Reflect.deleteProperty(data, "age"); // 删除属性
console.log("after del", data);
Reflect.set(data, "name", "李四"); // 设置属性
console.log("after set", data);

// console.log(Reflect.getPrototypeOf(data)); // 获取对象的原型
// Reflect.setPrototypeOf(data, {}); // 设置对象的原型

// console.log(Reflect.isExtensible(data)); // 判断对象是否可扩展
// Reflect.preventExtensions(data); // 阻止对象扩展

// console.log("descriptor", Reflect.getOwnPropertyDescriptor(data)); // 获取对象的所有属性描述符
// Reflect.defineProperty(data, "name", {
//   value: "王五",
//   writable: false,
//   configurable: false,
//   enumerable: false,
// })
